import Vue from 'vue'
import Vuex from 'vuex'

import { setItem, getItem } from '@/utils/storage'
Vue.use(Vuex)

// 用vuex来存储token的好处是：动态地对数据进行监管
// 声明头条中的键值
const TOKNM_KEY = 'TOUTIAO_USER'
export default new Vuex.Store({
  state: {
    // 声明一个用户对象
    // user: JSON.parse(window.localStorage.getItem(TOKNM_KEY)) || null
    user: getItem(TOKNM_KEY) || null
  },
  mutations: {
    setUser(state, data) {
      // 这是对用户对象进行赋值
      state.user = data
      // 将获取到的token存储到本地 目的：防止页面刷新之后user中存储的token消失
      // window.localStorage.setItem(TOKNM_KEY, JSON.stringify(state.user))
      setItem(TOKNM_KEY, state.user)
    }
  },
  actions: {
  },
  modules: {
  }
})
